/*
 * queue.h
 *
 *  Created on: May 28, 2013
 *      Author: Gugg
 */

typedef int ElementType;
#ifndef QUEUE_H_
#define QUEUE_H_
struct QueueRecord;
typedef struct QueueRecord *Queue;
int QueueSize( Queue Q);
int IsEmpty( Queue Q );
int IsFull( Queue Q );
Queue CreateQueue( int MaxElements );
void DisposeQueue( Queue Q );
void MakeEmpty( Queue Q );
void Enqueue( ElementType X, Queue Q );
ElementType Front( Queue Q );
void Dequeue( Queue Q );
ElementType FrontAndDequeue( Queue Q );

#endif /* QUEUE_H_ */
